home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume24 / gnucalc / part56 < prev    next >
Encoding:
Text File  |  1991-11-02  |  17.9 KB  |  561 lines

  1. Newsgroups: comp.sources.misc
  2. From: daveg@synaptics.com (David Gillespie)
  3. Subject:  v24i104:  gnucalc - GNU Emacs Calculator, v2.00, Part56/56
  4. Message-ID: <1991Nov3.001159.20135@sparky.imd.sterling.com>
  5. X-Md4-Signature: 3af889bdab21f8e088757c025612af06
  6. Date: Sun, 3 Nov 1991 00:11:59 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: daveg@synaptics.com (David Gillespie)
  10. Posting-number: Volume 24, Issue 104
  11. Archive-name: gnucalc/part56
  12. Environment: Emacs
  13. Supersedes: gmcalc: Volume 13, Issue 27-45
  14.  
  15. #!/bin/sh
  16. # do not concatenate these parts, unpack them in order with /bin/sh
  17. # file calc.texinfo continued
  18. #
  19. if test ! -r _shar_seq_.tmp; then
  20.     echo 'Please unpack part 1 first!'
  21.     exit 1
  22. fi
  23. (read Scheck
  24.  if test "$Scheck" != 56; then
  25.     echo Please unpack part "$Scheck" next!
  26.     exit 1
  27.  else
  28.     exit 0
  29.  fi
  30. ) < _shar_seq_.tmp || exit 1
  31. if test ! -f _shar_wnt_.tmp; then
  32.     echo 'x - still skipping calc.texinfo'
  33. else
  34. echo 'x - continuing file calc.texinfo'
  35. sed 's/^X//' << 'SHAR_EOF' >> 'calc.texinfo' &&
  36. @r{       @:      v i   @:n            @:    31  @:idn@:(1,n)}
  37. @r{       @:      v i   @:0            @:    31  @:idn@:(1)}
  38. @r{    h t@:      v k   @:             @:     2  @:cons@:(h,t)}
  39. @r{    h t@:    H v k   @:             @:     2  @:rcons@:(h,t)}
  40. @r{      v@:      v l   @:             @:     1  @:vlen@:(v)}
  41. @r{      v@:    H v l   @:             @:     1  @:mdims@:(v)}
  42. @r{    v m@:      v m   @:             @:     2  @:vmask@:(v,m)}
  43. @r{      v@:      v n   @:             @:     1  @:rnorm@:(v)}
  44. @r{  a b c@:      v p   @:             @:    24  @:calc-pack@:}
  45. @r{      v@:      v r   @:n >0         @: 21,31  @:mrow@:(v,n)}
  46. @r{      v@:      v r   @:n <0         @:    31  @:mrrow@:(v,-n)}
  47. @r{      m@:      v r   @:0            @:    31  @:getdiag@:(m)}
  48. @r{  v i j@:      v s   @:             @:        @:subvec@:(v,i,j)}
  49. @r{  v i j@:    I v s   @:             @:        @:rsubvec@:(v,i,j)}
  50. @r{      m@:      v t   @:             @:     1  @:trn@:(m)}
  51. @r{      v@:      v u   @:             @:    24  @:calc-unpack@:}
  52. @r{      v@:      v v   @:             @:     1  @:rev@:(v)}
  53. @r{       @:      v x   @:n            @:    31  @:index@:(n)}
  54. @r{  n s i@:  C-u v x   @:             @:        @:index@:(n,s,i)}
  55. @c 
  56. @r{      v@:      V A   @:op           @:    22  @:apply@:(op,v)}
  57. @r{  v1 v2@:      V C   @:             @:     2  @:cross@:(v1,v2)}
  58. @r{      m@:      V D   @:             @:     1  @:det@:(m)}
  59. @r{      s@:      V E   @:             @:     1  @:venum@:(s)}
  60. @r{      s@:      V F   @:             @:     1  @:vfloor@:(s)}
  61. @r{      v@:      V G   @:             @:        @:grade@:(v)}
  62. @r{      v@:    I V G   @:             @:        @:rgrade@:(v)}
  63. @r{      v@:      V H   @:n            @:    31  @:histogram@:(v,n)}
  64. @r{    v w@:    H V H   @:n            @:    31  @:histogram@:(v,w,n)}
  65. @r{  v1 v2@:      V I   @:mop aop      @:    22  @:inner@:(mop,aop,v1,v2)}
  66. @r{      m@:      V J   @:             @:     1  @:ctrn@:(m)}
  67. @r{      m@:      V L   @:             @:     1  @:lud@:(m)}
  68. @r{      v@:      V M   @:op           @: 22,23  @:map@:(op,v)}
  69. @r{      v@:      V N   @:             @:     1  @:cnorm@:(v)}
  70. @r{  v1 v2@:      V O   @:op           @:    22  @:outer@:(op,v1,v2)}
  71. @r{      v@:      V R   @:op           @: 22,23  @:reduce@:(op,v)}
  72. @r{      v@:    I V R   @:op           @: 22,23  @:rreduce@:(op,v)}
  73. @r{    a n@:    H V R   @:op           @:    22  @:nest@:(op,a,n)}
  74. @r{      a@:  I H V R   @:op           @:    22  @:fixp@:(op,a)}
  75. @r{      v@:      V S   @:             @:        @:sort@:(v)}
  76. @r{      v@:    I V S   @:             @:        @:rsort@:(v)}
  77. @r{      m@:      V T   @:             @:     1  @:tr@:(m)}
  78. @r{      v@:      V U   @:op           @:    22  @:accum@:(op,v)}
  79. @r{      v@:    I V U   @:op           @:    22  @:raccum@:(op,v)}
  80. @r{    a n@:    H V U   @:op           @:    22  @:anest@:(op,a,n)}
  81. @r{      a@:  I H V U   @:op           @:    22  @:afixp@:(op,a)}
  82. @r{    s t@:      V V   @:             @:     2  @:vunion@:(s,t)}
  83. @r{    s t@:      V X   @:             @:     2  @:vxor@:(s,t)}
  84. @c 
  85. @r{       @:      Y     @:             @:        @:@:user commands}
  86. @c 
  87. @r{       @:      z     @:             @:        @:@:user commands}
  88. @c 
  89. @r{      c@:      Z [   @:             @:    45  @:calc-kbd-if@:}
  90. @r{      c@:      Z |   @:             @:    45  @:calc-kbd-else-if@:}
  91. @r{       @:      Z :   @:             @:        @:calc-kbd-else@:}
  92. @r{       @:      Z ]   @:             @:        @:calc-kbd-end-if@:}
  93. @c 
  94. @r{       @:      Z @{   @:             @:     4  @:calc-kbd-loop@:}
  95. @r{      c@:      Z /   @:             @:    45  @:calc-kbd-break@:}
  96. @r{       @:      Z @}   @:             @:        @:calc-kbd-end-loop@:}
  97. @r{      n@:      Z <   @:             @:        @:calc-kbd-repeat@:}
  98. @r{       @:      Z >   @:             @:        @:calc-kbd-end-repeat@:}
  99. @r{    n m@:      Z (   @:             @:        @:calc-kbd-for@:}
  100. @r{      s@:      Z )   @:             @:        @:calc-kbd-end-for@:}
  101. @c 
  102. @r{       @:      Z C-g @:             @:        @:@:cancel if/loop command}
  103. @c 
  104. @r{       @:      Z `   @:             @:        @:calc-kbd-push@:}
  105. @r{       @:      Z '   @:             @:        @:calc-kbd-pop@:}
  106. @r{      a@:      Z =   @:message      @:    28  @:calc-kbd-report@:}
  107. @r{       @:      Z #   @:prompt       @:        @:calc-kbd-query@:}
  108. @c 
  109. @r{   comp@:      Z C   @:func, args   @:    50  @:calc-user-define-composition@:}
  110. @r{       @:      Z D   @:key, command @:        @:calc-user-define@:}
  111. @r{       @:      Z E   @:key, editing @:    30  @:calc-user-define-edit@:}
  112. @r{   defn@:      Z F   @:k, c, f, a, n@:    28  @:calc-user-define-formula@:}
  113. @r{       @:      Z G   @:key          @:        @:calc-get-user-defn@:}
  114. @r{       @:      Z I   @:             @:        @:calc-user-define-invocation@:}
  115. @r{       @:      Z K   @:key, command @:        @:calc-user-define-kbd-macro@:}
  116. @r{       @:      Z P   @:key          @:        @:calc-user-define-permanent@:}
  117. @r{       @:      Z T   @:             @:    12  @:calc-timing@:}
  118. @r{       @:      Z U   @:key          @:        @:calc-user-undefine@:}
  119. X
  120. @end format
  121. X
  122. @noindent
  123. NOTES
  124. X
  125. @enumerate
  126. @c 1
  127. @item
  128. Positive prefix arguments apply to @cite{n} stack entries.
  129. Negative prefix arguments apply to the @cite{-n}th stack entry.
  130. A prefix of zero applies to the entire stack.  (For @key{LFD} and
  131. @kbd{M-DEL}, the meaning of the sign is reversed.)
  132. X
  133. @c 2
  134. @item
  135. Positive prefix arguments apply to @cite{n} stack entries.
  136. Negative prefix arguments apply to the top stack entry
  137. and the next @cite{-n} stack entries.
  138. X
  139. @c 3
  140. @item
  141. Positive prefix arguments rotate top @cite{n} stack entries by one.
  142. Negative prefix arguments rotate the entire stack by @cite{-n}.
  143. A prefix of zero reverses the entire stack.
  144. X
  145. @c 4
  146. @item
  147. Prefix argument specifies a repeat count or distance.
  148. X
  149. @c 5
  150. @item
  151. Positive prefix arguments specify a precision @cite{p}.
  152. Negative prefix arguments reduce the current precision by @cite{-p}.
  153. X
  154. @c 6
  155. @item
  156. A prefix argument is interpreted as an additional step-size parameter.
  157. A plain @kbd{C-u} prefix means to prompt for the step size.
  158. X
  159. @c 7
  160. @item
  161. A prefix argument specifies simplification level and depth.
  162. 1=Default, 2=like @kbd{a s}, 3=like @kbd{a e}.
  163. X
  164. @c 8
  165. @item
  166. A negative prefix operates only on the top level of the input formula.
  167. X
  168. @c 9
  169. @item
  170. Positive prefix arguments specify a word size of @cite{w} bits, unsigned.
  171. Negative prefix arguments specify a word size of @cite{w} bits, signed.
  172. X
  173. @c 10
  174. @item
  175. Prefix arguments specify the shift amount @cite{n}.  The @cite{w} argument
  176. cannot be specified in the keyboard version of this command.
  177. X
  178. @c 11
  179. @item
  180. XFrom the keyboard, @cite{d} is omitted and defaults to zero.
  181. X
  182. @c 12
  183. @item
  184. Mode is toggled; a positive prefix always sets the mode, and a negative
  185. prefix always clears the mode.
  186. X
  187. @c 13
  188. @item
  189. Some prefix argument values provide special variations of the mode.
  190. X
  191. @c 14
  192. @item
  193. A prefix argument, if any, is used for @cite{m} instead of taking
  194. @cite{m} from the stack.  @cite{M} may take any of these values:
  195. @iftex
  196. {@advance@tableindent10pt
  197. @end iftex
  198. @table @asis
  199. @item Integer
  200. Random integer in the interval @cite{[0 .. m)}.
  201. @item Float
  202. Random floating-point number in the interval @cite{[0 .. m)}.
  203. @item 0.0
  204. Gaussian with mean 1 and standard deviation 0.
  205. @item Error form
  206. Gaussian with specified mean and standard deviation.
  207. @item Interval
  208. Random integer or floating-point number in that interval.
  209. @item Vector
  210. Random element from the vector.
  211. @end table
  212. @iftex
  213. }
  214. @end iftex
  215. X
  216. @c 15
  217. @item
  218. A prefix argument from 1 to 6 specifies number of date components
  219. to remove from the stack.  @xref{Date Conversions}.
  220. X
  221. @c 16
  222. @item
  223. A prefix argument specifies a time zone; @kbd{C-u} says to take the
  224. time zone number or name from the top of the stack.  @xref{Time Zones}.
  225. X
  226. @c 17
  227. @item
  228. A prefix argument specifies a day number (0-6, 0-31, or 0-366).
  229. X
  230. @c 18
  231. @item
  232. If the input has no units, you will be prompted for both the old and
  233. the new units.
  234. X
  235. @c 19
  236. @item
  237. With a prefix argument, collect that many stack entries to form the
  238. input data set.  Each entry may be a single value or a vector of values.
  239. X
  240. @c 20
  241. @item
  242. With a prefix argument of 1, take a single @c{$N\times2$}
  243. @asis{Nx2} matrix from the
  244. stack instead of two separate data vectors.
  245. X
  246. @c 21
  247. @item
  248. The row or column number @cite{n} may be given as a numeric prefix
  249. argument instead.  A plain @kbd{C-u} prefix says to take @cite{n}
  250. from the top of the stack.  If @cite{n} is a vector or interval,
  251. a subvector/submatrix of the input is created.
  252. X
  253. @c 22
  254. @item
  255. The @cite{op} prompt can be answered with the key sequence for the
  256. desired function, or with @kbd{x} or @kbd{z} followed by a function name,
  257. or with @kbd{$} to take a formula from the top of the stack, or with
  258. @kbd{'} and a typed formula.  In the last two cases, the formula may
  259. be a nameless function like @samp{<#1+#2>} or @samp{<x, y : x+y>}, or it
  260. may include @kbd{$}, @kbd{$$}, etc. (where @kbd{$} will correspond to the
  261. last argument of the created function), or otherwise you will be
  262. prompted for an argument list.  The number of vectors popped from the
  263. stack by @kbd{V M} depends on the number of arguments of the function.
  264. X
  265. @c 23
  266. @item
  267. One of the mapping direction sequences @kbd{_} (horizontal, i.e., map
  268. by rows or reduce across), @kbd{:} (vertical, i.e., map by columns or
  269. reduce down), or @kbd{=} (map or reduce by rows) may be given before
  270. entering @cite{op}; these modify the function name by adding the letter
  271. @code{r} for ``rows,'' @code{c} for ``columns,'' @code{a} for ``across,''
  272. or @code{d} for ``down.''
  273. X
  274. @c 24
  275. @item
  276. The prefix argument specifies a packing mode.  A nonnegative mode
  277. is the number of items (for @kbd{v p}) or the number of levels
  278. (for @kbd{v u}).  A negative mode is as described below.  With no
  279. prefix argument, the mode is taken from the top of the stack and
  280. may be an integer or a vector of integers.
  281. @iftex
  282. {@advance@tableindent-20pt
  283. @end iftex
  284. @table @cite
  285. @item -1
  286. @var{(2)}  Rectangular complex number.
  287. @item -2
  288. @var{(2)}  Polar complex number.
  289. @item -3
  290. @var{(3)}  HMS form.
  291. @item -4
  292. @var{(2)}  Error form.
  293. @item -5
  294. @var{(2)}  Modulo form.
  295. @item -6
  296. @var{(2)}  Closed interval.
  297. @item -7
  298. @var{(2)}  Closed .. open interval.
  299. @item -8
  300. @var{(2)}  Open .. closed interval.
  301. @item -9
  302. @var{(2)}  Open interval.
  303. @item -10
  304. @var{(2)}  Fraction.
  305. @item -11
  306. @var{(2)}  Float with integer mantissa.
  307. @item -12
  308. @var{(2)}  Float with mantissa in @cite{[1 .. 10)}.
  309. @item -13
  310. @var{(1)}  Date form (using date numbers).
  311. @item -14
  312. @var{(3)}  Date form (using year, month, day).
  313. @item -15
  314. @var{(6)}  Date form (using year, month, day, hour, minute, second).
  315. @end table
  316. @iftex
  317. }
  318. @end iftex
  319. X
  320. @c 25
  321. @item
  322. A prefix argument specifies the size @cite{n} of the matrix.  With no
  323. prefix argument, @cite{n} is omitted and the size is inferred from
  324. the input vector.
  325. X
  326. @c 26
  327. @item
  328. The prefix argument specifies the starting position @cite{n} (default 1).
  329. X
  330. @c 27
  331. @item
  332. Cursor position within stack buffer affects this command.
  333. X
  334. @c 28
  335. @item
  336. Arguments are not actually removed from the stack by this command.
  337. X
  338. @c 29
  339. @item
  340. Variable name may be a single digit or a full name.
  341. X
  342. @c 30
  343. @item
  344. Editing occurs in a separate buffer.  Press @kbd{M-# M-#} (or @kbd{C-c C-c},
  345. @key{LFD}, or in some cases @key{RET}) to finish the edit, or press
  346. @kbd{M-# x} to cancel the edit.
  347. X
  348. @c 31
  349. @item
  350. The number prompted for can also be provided as a prefix argument.
  351. X
  352. @c 32
  353. @item
  354. Press this key a second time to cancel the prefix.
  355. X
  356. @c 33
  357. @item
  358. With a negative prefix, deactivate all formulas.  With a positive
  359. prefix, deactivate and then reactivate from scratch.
  360. X
  361. @c 34
  362. @item
  363. Default is to scan for nearest formula delimiter symbols.  With a
  364. prefix of zero, formula is delimited by mark and point.  With a
  365. non-zero prefix, formula is delimited by scanning forward or
  366. backward by that many lines.
  367. X
  368. @c 35
  369. @item
  370. Parse the region between point and mark as a vector.  A positive or
  371. negative prefix parses @var{n} lines before or after point as a vector.
  372. A zero prefix parses the current line as a vector.  A @kbd{C-u} prefix
  373. parses the region between point and mark as a single formula.
  374. X
  375. @c 36
  376. @item
  377. Parse the rectangle defined by point and mark as a matrix.  A positive
  378. prefix @var{n} divides the rectangle into columns of width @var{n}.
  379. A zero or @kbd{C-u} prefix parses each line as one formula.  A negative
  380. prefix suppresses special treatment of bracketed portions of a line.
  381. X
  382. @c 37
  383. @item
  384. A numeric prefix causes the current language mode to be ignored.
  385. X
  386. @c 38
  387. @item
  388. Responding to a prompt with a blank line answers that and all
  389. later prompts by popping additional stack entries.
  390. X
  391. @c 39
  392. @item
  393. Answer for @cite{v} may also be of the form @cite{v = v_0} or
  394. @cite{v - v_0}.
  395. X
  396. @c 40
  397. @item
  398. With a positive prefix argument, stack contains many @cite{y}s and one
  399. common @cite{x}.  With a zero prefix, stack contains a vector of
  400. @cite{y}s and a common @cite{x}.  With a negative prefix, stack
  401. contains many @cite{[x,y]} vectors.  (For 3D plots, substitute
  402. @cite{z} for @cite{y} and @cite{x,y} for @cite{x}.)
  403. X
  404. @c 41
  405. @item
  406. With any prefix argument, all curves in the graph are deleted.
  407. X
  408. @c 42
  409. @item
  410. With a positive prefix, refines an existing plot with more data points.
  411. With a negative prefix, forces recomputation of the plot data.
  412. X
  413. @c 43
  414. @item
  415. With any prefix argument, set the default value instead of the
  416. value for this graph.
  417. X
  418. @c 44
  419. @item
  420. With a negative prefix argument, set the value for the printer.
  421. X
  422. @c 45
  423. @item
  424. Condition is considered ``true'' if it is a nonzero real or complex
  425. number; it is ``false'' if it is zero, 
  426. X
  427. @c 46
  428. @item
  429. Several formulas separated by commas are pushed as multiple stack
  430. entries.  Trailing @kbd{)}, @kbd{]}, @kbd{@}}, @kbd{>}, and @kbd{"}
  431. delimiters may be omitted.  The notation @kbd{$$$} refers to the value
  432. in stack level three, and causes the formula to replace the top three
  433. stack levels.  The notation @kbd{$3} refers to stack level three without
  434. causing that value to be removed from the stack.  Use @key{LFD} in place
  435. of @key{RET} to prevent evaluation.@refill
  436. X
  437. @c 47
  438. @item
  439. The variable is replaced by the formula shown on the right.  The
  440. Inverse flag reverses the order of the operands, e.g., @kbd{I s - x}
  441. assigns @cite{x := a-x}.
  442. X
  443. @c 48
  444. @item
  445. Press @kbd{?} repeatedly to see how to choose a model.  Answer the
  446. variables prompt with @cite{iv} or `@i{iv};@i{pv}' to specify
  447. independent and parameter variables.  A positive prefix argument
  448. takes @i{N+1} vectors from the stack; a zero prefix takes a matrix
  449. and a vector from the stack.
  450. X
  451. @c 49
  452. @item
  453. With a plain @kbd{C-u} prefix, replace the current region of the
  454. destination buffer with the yanked text instead of inserting.
  455. X
  456. @c 50
  457. @item
  458. All stack entries are reformatted; the @kbd{H} prefix inhibits this.
  459. The @kbd{I} prefix sets the mode temporarily, redraws the top stack
  460. entry, then restores the original setting of the mode.
  461. X
  462. @c 51
  463. @item
  464. A negative prefix sets the default 3D resolution instead of the
  465. default 2D resolution.
  466. @end enumerate
  467. X
  468. @iftex
  469. (Space is provided below for you to keep your own written notes.)
  470. @page
  471. @end iftex
  472. X
  473. X
  474. @c [end-summary]
  475. X
  476. @node Key Index, Command Index, Summary, Top
  477. @unnumbered Index of Key Sequences
  478. X
  479. @printindex ky
  480. X
  481. @node Command Index, Function Index, Key Index, Top
  482. @unnumbered Index of Calculator Commands
  483. X
  484. Since all Calculator commands begin with the prefix @samp{calc-}, the
  485. @kbd{x} key has been provided as a variant of @kbd{M-x} which automatically
  486. types @samp{calc-} for you.  Thus, @kbd{x last-args} is short for
  487. @kbd{M-x calc-last-args}.
  488. X
  489. @printindex pg
  490. X
  491. @node Function Index, Concept Index, Command Index, Top
  492. @unnumbered Index of Algebraic Functions
  493. X
  494. This is a list of built-in functions usable in algebraic expressions.
  495. Their full Lisp names are derived by adding the prefix @samp{calcFunc-},
  496. as in @code{calcFunc-sqrt}.
  497. X
  498. @printindex tp
  499. X
  500. @node Concept Index, Variable Index, Function Index, Top
  501. @unnumbered Concept Index
  502. X
  503. @printindex cp
  504. X
  505. @node Variable Index, Lisp Function Index, Concept Index, Top
  506. @unnumbered Index of Variables
  507. X
  508. The variables in this list that do not contain dashes are accessible
  509. as Calc variables.  Add a @samp{var-} prefix to get the name of the
  510. corresponding Lisp variable.
  511. X
  512. The remaining variables are Lisp variables suitable for @code{setq}ing
  513. in your @file{.emacs} file.
  514. X
  515. @printindex vr
  516. X
  517. @node Lisp Function Index, , Variable Index, Top
  518. @unnumbered Index of Lisp Math Functions
  519. X
  520. The following functions are meant to be used with @code{defmath}, not
  521. @code{defun} definitions.  For names that do not start with @samp{calc-},
  522. the corresponding full Lisp name is derived by adding a prefix of
  523. @samp{math-}.
  524. X
  525. @printindex fn
  526. X
  527. @summarycontents
  528. X
  529. @c [end]
  530. X
  531. @contents
  532. @bye
  533. X
  534. X
  535. SHAR_EOF
  536. echo 'File calc.texinfo is complete' &&
  537. chmod 0644 calc.texinfo ||
  538. echo 'restore of calc.texinfo failed'
  539. Wc_c="`wc -c < 'calc.texinfo'`"
  540. test 1420611 -eq "$Wc_c" ||
  541.     echo 'calc.texinfo: original size 1420611, current size' "$Wc_c"
  542. rm -f _shar_wnt_.tmp
  543. fi
  544. rm -f _shar_seq_.tmp
  545. echo You have unpacked the last part
  546. exit 0
  547. exit 0 # Just in case...
  548. -- 
  549. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  550. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  551. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  552. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  553.